Fast Multi-Level Locks for Java A Preliminary Performance Evaluation

نویسندگان

  • Khilan Gudka
  • Susan Eisenbach
چکیده

Atomic sections guarantee atomic and isolated execution of a block of code. Transactional Memory can be used to implement them but suffers from the inability to support system calls and has high overhead. Lock inference is a pessimistic alternative that infers the locks necessary to prevent thread interference. Our research looks at lock inference techniques for Java programs. An important aspect of the performance of a lock inference approach is the efficiency of its runtime locks. In this paper, we describe an implementation of the multi-level locks of Gray et al [7] using Java’s Synchronizer framework [14] and present some preliminary performance results for a number of workloads that perform a varying proportion of fine-grained and coarse-grained operations. We compare our lock implementation against Java’s ReentrantReadWriteLock and the STM algorithms TL2 [6] and LSA [17]. For fine-grained workloads, we show that multi-level locks perform similarly to ReentrantReadWriteLock but in workloads that mix fine-grained and coarse-grained data operations, they achieve better performance (upto 11x against ReentrantReadWriteLock and 3x against STM).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Transparently Reconciling Transactions with Locking for Java Synchronization

Concurrent data accesses in high-level languages like Java and C# are typically mediated using mutual-exclusion locks. Threads use locks to guard the operations performed while the lock is held, so that the lock’s guarded operations can never be interleaved with operations of other threads that are guarded by the same lock. This way both atomicity and isolation properties of a thread’s guarded ...

متن کامل

Java Locks: Analysis and Acceleration by

This dissertation presents several techniques to accelerate Java locks based on the analyses of their behavior from various viewpoints. Ten years have passed since Java was announced, and now the language has come to be used in various fields including large-scale Web services. To make such applications practical, performance improvements for the Java execution environments are indispensable. I...

متن کامل

Special Issue on Java Technologies for Real-Time and Embedded Systems JTRES2013

The first paper [2] discusses software locking mechanisms that commonly protect shared resources for multi-threaded applications. This mechanism can, especially in chip-multiprocessor systems, result in a large synchronization overhead. For real-time systems in particular, this overhead increases the worstcase execution time and may void a task set's schedulability. This paper presents two hard...

متن کامل

ActiveMonitor: Non-blocking Monitor Executions for Increased Parallelism

We present a set of novel ideas on design and implementation of monitor objects for multi-threaded programs. Our approach has two main goals: (a) increase parallelism in monitor objects and thus provide performance gains (shorter runtimes) for multi-threaded programs, and (b) introduce constructs that allow programmers to easily write monitor-based multi-threaded programs that can achieve these...

متن کامل

Java Technologies for Real-Time and Embedded Systems (JTRES2013)

This outline describes a special issue of papers from the 2013 workshop on Java Technologies for Real-Time and Embedded Systems [1]. There are 2 papers in this special issue. The first paper [2] discusses software locking mechanisms that commonly protect shared resources for multithreaded applications. This mechanism can, especially in chip-multiprocessor systems, result in a large synchronizat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010